package org.gdpu.service;

import org.gdpu.base.DAO;
import org.gdpu.model.Resource;
import org.gdpu.model.Valid;
import org.gdpu.vo.ResourceVO;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 13-6-4
 * Time: 下午1:03
 * To change this template use File | Settings | File Templates.
 */
public interface ResourceService extends DAO {

    /**
     * 查找用户上传的资源
     *
     * @param uploader 上传者
     * @return 资源信息
     */
    public List<Resource> findResourceByUploader(String uploader);

    /**
     * 根据分类查找资源
     *
     * @param category 分类
     * @return 资源信息
     */
    public List<Resource> findResourceByCategory(String category);

    /**
     * 根据文件信息查找资源
     *
     * @param information 文件信息
     * @return 资源信息
     */
    public List<Resource> findResourceByFileName(String information);

    /**
     * 审核资源
     *
     * @param resourceId 资源编号
     * @param judge      审核结果
     */
    public void judgeResource(Valid judge, int resourceId);

    /**
     * 上传资源
     *
     * @param resourceVO 资源文件信息
     * @return 上传成功返回true  上传失败返回false
     * @throws Exception 抛出IO异常
     */
    public boolean uploadResource(ResourceVO resourceVO) throws Exception;

    /**
     * 检索全部资源
     *
     * @return List全部资源
     */
    public List<Resource> allResource();

    /**
     * 更新下载次数
     *
     * @param resourceId 资源编号
     * @return 更新成功返回true 更新失败返回false
     */
    public boolean updateDownloadTime(int resourceId);

    /**
     * 检索未审核资源
     *
     * @return
     */
    public List<Resource> findByNotValid();
}
